package com.lablzh.gdxy.service;

import com.lablzh.gdxy.entity.practice.Practice;
import com.lablzh.gdxy.entity.practice.PracticeApply;
import com.lablzh.gdxy.entity.practice.StudentPractice;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface PracticeService {
    String createTeam(Practice practice);

    String deleteTeam(Integer id);

    List<Practice> getTeam();

    List<Practice> getTeamByTeacherUsername();

    String updataStatus(Integer id, String status);

    String apply(Integer id);

    String confirm(Integer id);

    String confirmAll(Integer id);

    String refuse(Integer id);

    String updateTeam(Practice practice);

    List<PracticeApply> applyListT(Integer id);

    List<PracticeApply> applyListA(Integer id);

    Map<String, Object> queryPerformance(StudentPractice studentPractice, int page);

    void downloadExcel(StudentPractice studentPractice, HttpServletRequest request, String sort, HttpServletResponse response) throws FileNotFoundException;

    Practice getTeamById(Integer id);

    List<StudentPractice> getPracticeStudent();


    List<StudentPractice> getChoosed(Integer id);

    List<StudentPractice> getStudentBySummit(String summit, Integer id);

    List<StudentPractice> getStudentByReview(String review, Integer id);

    List<Practice> getPracticeByTeacher();

    String review(Integer id, String studentUsername, Integer score, String level, String note);

    Map<String, String> uploadReport(HttpServletRequest request, String category, Integer id) throws IOException;

    List<PracticeApply> getPracticeApply();


    String undo(Integer id);

    Map<String, String> addOutline(String category, Integer id, HttpServletRequest request) throws IOException;

    String auditOutline(Integer id, String outlineStatus);

    String ddlConfirm(Integer id);

}
